Page({
  data: {
    currentDate: new Date().getTime(),
    houseLayerVisible: false,
    houseInfo: '',
    // 预约上门时间
    appointTime: '',
    // 时间选择器默认显示时间
    currentDate: new Date().getTime(),
    repairItemName: '',
    repairLayerVisible: false,
    dateLayerVisible: false,
    houseList: [
      { name: '北京西三旗花园1号楼 101' },
      { name: '北京东村家园3号楼 302' },
      { name: '北京育新花园3号楼 703' },
      { name: '北京天通苑北苑8号楼 403' },
    ],
    repairItem: [{ name: '水路卫浴' }, { name: '电路灯具' }, { name: '管道疏通' }, { name: '开锁换锁' }],
    attachment: [],
  },
  onLoad() {
    // 获取房屋列表
    this.getHouseList(),
      this.getRepairItem()
  },
  afterRead(ev) {
    // console.log(ev.detail.file)
    // 临时文件
    const { file } = ev.detail
    // console.log(file);
    // 调用接口上传至服务器
    wx.uploadFile({
      url: wx.http.baseURL + '/upload',
      filePath: file.url,
      name: 'file',
      header: {
        Authorization: getApp().token,
      },
      success: (res) => {
        // 转换 json 数据
        const data = JSON.parse(res.data)
        // console.log(data);
        // 上传完成需要更新
        const { attachment } = this.data
        attachment.push({ url: data.data.url })
        // console.log(attachment);
        // 渲染数据
        this.setData({ attachment })
      },
    })
  },
  async getHouseList() {
    // 请求数据接口
    const { code, data: houseList } = await wx.http.get('/house')
    // 检测接口返回的结果
    if (code !== 10000) return wx.utils.toast('获取房屋列表失败!')
    // 数据渲染
    this.setData({ houseList })
  },
  async getRepairItem() {
    // 请求数据接口
    const { code, data: repairItem } = await wx.http.get('/repairItem')
    // 检测接口返回的数据
    if (code !== 10000) return wx.utils.toast('获取维修项目失败!')
    // 数据渲染
    this.setData({ repairItem })
  },
  // 选择维修上门时间
  selectTime(e) {
    // console.log(e.detail)
    this.setData({
      dateLayerVisible: false, // 关闭选择时间弹层
      appointTime: wx.utils.formatTime(e.detail)
    })
  },
  selectHouse(ev) {
    // 获取用户选择房屋的名称
    const { name: houseInfo } = ev.detail
    // 页面中渲染
    this.setData({ houseInfo })
  },
  selectRepairItem(ev) {
    // 获取用户选择的维修项目名称
    const { name: repairItemName } = ev.detail
    // 页面中渲染
    this.setData({ repairItemName })
  },
  openHouseLayer() {
    this.setData({ houseLayerVisible: true })
  },
  closeHouseLayer() {
    this.setData({ houseLayerVisible: false })
  },
  openRepairLayer() {
    this.setData({ repairLayerVisible: true })
  },
  closeRepairLayer() {
    this.setData({
      repairLayerVisible: false,
    })
  },

  openDateLayer() {
    this.setData({ dateLayerVisible: true })
  },
  closeDateLayer() {
    this.setData({ dateLayerVisible: false })
  },
  goList() {
    wx.reLaunch({
      url: '/repair_pkg/pages/list/index',
    })
  },
})
